Elements of Clojure by Zachary Tellman
Author:Zachary Tellman [Zachary Tellman]
Language: eng
Format: epub
Publisher: leanpub.com
Published: 2016-03-17T00:00:00+00:00
A Model for Modules
Most software abstractions take the form of a module, which consists of a model, an interface, and an environment.
The model is a collection of data and functions. The interface is the means by which the model and environment interact. The environment is everything else: other software components, the users, and the world they exist in.
Models reflect specific facets of their environment. They narrow our attention, giving us the ability to reason about something that is endlessly complex and to change it in predictable ways. Everything the model does not reflect represents an assumption that these missing facets are either fixed or irrelevant. If a model can represent invalid states, it must enforce invariants that preclude those states.
In the context of our mechanical clock, the model is the inner clockwork, which enforces an invariant relationship between the passage of time and the turning of its gears. The interface is the clock’s hands and dial, as well as the winding mechanism. The clock assumes that it will be regularly wound and that the clockwork won’t be subjected to any forces that prevent it from doing its job. If those assumptions are false in our particular context, then the clock is no longer a useful tool for telling time.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
| Automotive | Engineering |
| Transportation |
Whiskies Galore by Ian Buxton(42078)
Introduction to Aircraft Design (Cambridge Aerospace Series) by John P. Fielding(33175)
Small Unmanned Fixed-wing Aircraft Design by Andrew J. Keane Andras Sobester James P. Scanlan & András Sóbester & James P. Scanlan(32835)
Craft Beer for the Homebrewer by Michael Agnew(18284)
Turbulence by E. J. Noyes(8112)
The Complete Stick Figure Physics Tutorials by Allen Sarah(7422)
The Thirst by Nesbo Jo(7002)
Kaplan MCAT General Chemistry Review by Kaplan(6986)
Bad Blood by John Carreyrou(6669)
Modelling of Convective Heat and Mass Transfer in Rotating Flows by Igor V. Shevchuk(6494)
Weapons of Math Destruction by Cathy O'Neil(6362)
Learning SQL by Alan Beaulieu(6342)
Man-made Catastrophes and Risk Information Concealment by Dmitry Chernov & Didier Sornette(6138)
Digital Minimalism by Cal Newport;(5835)
Life 3.0: Being Human in the Age of Artificial Intelligence by Tegmark Max(5616)
iGen by Jean M. Twenge(5453)
Secrets of Antigravity Propulsion: Tesla, UFOs, and Classified Aerospace Technology by Ph.D. Paul A. Laviolette(5412)
Design of Trajectory Optimization Approach for Space Maneuver Vehicle Skip Entry Problems by Runqi Chai & Al Savvaris & Antonios Tsourdos & Senchun Chai(5140)
Pale Blue Dot by Carl Sagan(5076)